<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>在线更新</title>
<link type="text/css" rel="stylesheet" href="css/main.css" />
<script type="text/javascript" src="js/AIRAliases.js"></script> 
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/core.js"></script>
<script type="text/javascript" src="js/db.js"></script>
<script type="text/javascript">




//导入数据
function update_data()
{
	//导入分类
	$("#status").html("正在导入分类");
	get_data({m:"sort"}, function(o){
		if(o.length)
		{
			$update_db.begin();
			$.each(o, function(k, v){
				$update_db.insert('law_sort',{id:v.sortid, name:v.sortname});
			});
			$update_db.commit();
		}
		$("#status").html("导入分类完成");
		update_article();	//导入数据
	});
	
	//导入数据内容
	function update_article()
	{
		$("#status").html("开始导入数据");
		var $pagesize = 10;
		get_data({m:"article", count:"1"}, function($count){
			if($count > 0)
			{
				$("#articel_total").html($count);
				var $page_count = Math.ceil($count/$pagesize);
				_update_article(1, $pagesize, $page_count);
			}
			else
			{
				alert("读取数据失败，请尝试重试");
			}
		});
	}
	
	//导入数据内容核心内容
	function _update_article($page, $pagesize, $page_count)
	{
		
		if($page > $page_count)
		{
			$("#status").html("数据下载完成");
			import_data();
		}
		else
		{			
			get_data({m:"article", page:$page, pagesize:$pagesize}, function(o){
				if(!o)	return false;
				
				$("#status").html("已下载数据："+($page*$pagesize));
				$update_db.begin();
				$.each(o, function(k, v){
					$update_db.insert("law_article", {
						"sortid"	: v.sortid,
						"title"		: v.title,
						"content"	: v.content,
						"addtime"	: v.addtime
					});
				});
				$update_db.commit();
				_update_article(++$page, $pagesize, $page_count);
				return true;
			});
		}
	}
	
	//导入已下载的数据
	function import_data()
	{
		$("#status").html("正在导入下载的数据（此时禁止查询数据）");
		opener.$db.close();
		$update_db.close();
		delete opener.$db, $update_db;
		
		copy_file($root_dir+"data/update.db", $root_dir+"data/main.db");		
		opener.$db = new db("data/main.db");
		
		$("#status").html("更新完成");
		$("#update_close").show();
	}
	
	//通用取得API数据接口
	function get_data($data, $callback)
	{
		$.ajax({type:"get", dataType:"json", url:$api_url, "data":$data, success:$callback});
	}
}

copy_file($root_dir+"core/base.db", $root_dir+"data/update.db");	
var $update_db = new db("data/update.db");
$(function(){
	//绑定关闭事件
	$("#update_close").click(function(){
		nativeWindow.close();
	});	
	
	window.nativeWindow.addEventListener(air.Event.CLOSE, function(){	//页面卸载时关闭数据库连接
		$update_db.close();
	});
	
	update_data();
});

</script>
</head>

<body>
	<h2 class="center">在线更新</h2>
	<table class="result">
		<tr>
			<td width="100">当前状态</td>
			<td id="status">准备中</td>
		</tr>
		<tr>
			<td>数据总量</td>
			<td id="articel_total">-</td>
		</tr>
	</table>
	<br />
	<div class="center"><button class="hide" id="update_close">关闭</button></div>

</body>
</html>